package com.bxs.detector.impl;

import com.bxs.detector.BaseDetector;
import com.bxs.pojo.DangerMsg;
import com.bxs.pojo.BaseRule;
import lombok.extern.slf4j.Slf4j;
import org.pcap4j.core.PcapPacket;

import java.util.List;

/**
 * 模式匹配，检测多模式。需要手动实现AC自动机进行高效的多模式匹配
 */
@Slf4j
public class PatternDetector extends BaseDetector {
    @Override
    public DangerMsg detect(PcapPacket packet, List<BaseRule> rules) {
        log.info("PatternDetector execute...");
        return null;
    }

    // 多模式匹配实现1：（KMP算法低效实现）
    public boolean kmpDetect(PcapPacket packet){
        log.info("kmp检测进行包检测中...");
        return false;
    }

}
